先日、Pythonの自動ツイートに関する記事を書きました。
いくらか進展がありましたので、記事にしたいと思います。
レンタルサーバーの自動タスク化に成功
Unix系OSで構成されているレンタルサーバーがあります。このサーバーは「Cronjob」というタスクスケジュール機能を持ったツールが使用可能です。
今までCronjobにPythonツールを引き当てられていませんでした。
今回の改善にあたり、いじくったことをまとめます。
- エラーログをメール送付するよう設定した(環境変数「MAILTO」に自分のアドレスを設定)
- エラー内容から、Pythonのパッケージインポートでつまづいている事が分かる。対象のパッケージを再インストールした―この段階で自動ツイートは動作成功
- レポートログが文字化けしていた。Unix上のシェル「bash」と「Cronjob」上で、使用する文字コードを指定。(環境変数「LANG」に「ja_JP.utf-8」を代入)
これにより、自動ツイートが成功。また実行後のレポートも文字化けしなくなりました。
学んだことや残課題
- サーバー側のOS上で、環境変数なり、Pythonパッケージのインストールなり、諸々の設定を意識しないといけない。これが簡単でなかった。
- 文字コードutf-8のエンコード/デコードに対する考え方を理解するのに、時間がかかってしまった。
- ツイート内容を外部テキストに配置することで、メンテナンスが楽になった。サーバー起動とローカル起動も、頻繁に切り替えて使用する。なので起動オプションの導入など、コード編集以外の手段で切り替え可としたい。
良い勉強になりました。もう少し改善を続けてみようと思います。
それでは。